Cache-Efficient Multigrid Algorithms
نویسندگان
چکیده
Multigrid is widely used as an efficient solver for sparse linear systems arising from the discretization of elliptic boundary value problems. Linear relaxation methods like Gauss-Seidel and Red-Black Gauss-Seidel form the principal computational component of multigrid, and thus affect its efficiency. In the context of multigrid, these iterative solvers are executed for a small number of iterations (2–8). We exploit this property of the algorithm to develop a cache-efficient multigrid, by focusing on improving the memory behavior of the linear relaxation methods. The efficiency in our cache-efficient linear relaxation algorithm comes from two sources: reducing the number of data cache and TLB misses, and reducing the number of memory references by keeping values register-resident. Experiments on five modern computing platforms show a performance improvement of 1.15–2.7 times over a standard implementation of Full Multigrid V-Cycle.
منابع مشابه
Maximizing Cache Memory Usage for Multigrid Algorithms
Computers today rely heavily on good utilization of their cache memory subsystems. Compilers are optimized for business applications, not scienti c computing ones, however. Automatic tiling of complex numerical algorithms for solving partial di erential equations is simply not provided by compilers. Thus, absolutely terrible cache performance is a common result. Multigrid algorithms combine sev...
متن کاملData locality optimizations for multigrid methods on structured grids
Beside traditional direct solvers iterative methods offer an efficient alternative for the solution of systems of linear equations which arise in the solution of partial differential equations (PDEs). Among them, multigrid algorithms belong to the most efficient methods based on the number of operations required to achieve a good approximation of the solution. The relevance of the number of ari...
متن کاملData Locality Optimizations for Iterative Numerical Algorithms and Cellular Automata on Hierarchical Memory Architectures
In order to mitigate the impact of the constantly widening gap between processor speed and main memory performance on the runtimes of application codes, today’s computer architectures commonly employ hierarchical memory designs including several levels of cache memories. Efficient program execution can only be expected if the underlying hierarchical memory architecture is respected. This is par...
متن کاملPreprocessing Costs of Cache Based Multigrid
Multigrid algorithms based on cache aware smoothers produce a high performance, portable, cache aware multigrid solver for problems with one or more degrees of freedom on unstructured grids. This paper analyzes the work cost of a necessary preprocessing step in cache aware multigrid. This mesh renumbering step is not present in standard multigrid codes. The cost is found to be small relative to...
متن کاملA Cache-Aware Algorithm for PDEs on Hierarchical Data Structures Based on Space-Filling Curves
Competitive numerical algorithms for solving partial differential equations have to work with the most efficient numerical methods like multigrid and adaptive grid refinement and thus with hierarchical data structures. Unfortunately, in most implementations, hierarchical data— typically stored in trees—cause a nonnegligible overhead in data access. To overcome this quandary— numerical efficienc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IJHPCA
دوره 18 شماره
صفحات -
تاریخ انتشار 2001